$(function() {
	ExchangeTable();

});

var ExchangeTable = function() {
	layui
	.use(
			[ 'laydate', 'laypage', 'layer', 'table', 'element'],
			function() {
				var laydate = layui.laydate // 日期
				, laypage = layui.laypage // 分页
				, layer = layui.layer // 弹层
				, table = layui.table // 表格
				, element = layui.element // 元素操作
				var form = layui.form;
				var $ = layui.jquery;
				// 执行一个 table 实例
				var exchangeTable = table.render({
					elem : '#ExchangeTable',
					url : 'queryTrustee' // 数据接口
						,
						title : '托管基金表',
						page : true // 开启分页
						,
						limits : [ 5, 10, 15 ],
						toolbar : 'default' // 开启工具栏，此处显示默认图标，可以自定义模板，详见文档
							,
							cols : [ [ // 表头
								{
									type : 'checkbox',
									fixed : 'left'
								}, {
									field : 'trusteeId',
									title : '托管人ID',
									sort : true,
									fixed : 'left',
									totalRowText : '合计：'
								}, {
									field : 'trusteeName',
									title : '托管人名'
								}, {
									field : 'trusteeFee',
									title : '托管费',
									sort : true,
									totalRow : true
								}, {
									field : 'description',
									title : '描述',
									sort : true
								}] ]
				});

				// 监听头工具栏事件
				table
				.on(
						'toolbar(ExchangeTable)',
						function(obj) {
							var checkStatus = table
							.checkStatus(obj.config.id), data = checkStatus.data; // 获取选中的数据
							switch (obj.event) {
							case 'add':
								// 弹出新增模态框
								initAddExchangeModal();
								break;
							case 'update':
								if (data.length === 0) {
									layer.msg('请选择一行');
								} else if (data.length > 1) {
									layer.msg('只能同时编辑一个');
								} else {
									initUpdateExchangeModal(data);
								}
								break;
							case 'delete':
								if (data.length === 0) {
									layer.msg('请选择一行');
								} else {
									// 调用删除方法
									deleteExchange(data);
								}
								break;
							}
							;
						});

				// 监听行工具事件
				table.on('tool(ExchangeTable)', function(obj) { // 注：tool
					// 是工具条事件名，test
					// 是
					// table
					// 原始容器的属性
					// lay-filter="对应的值"
					var data = obj.data // 获得当前行数据
					, layEvent = obj.event; // 获得 lay-event 对应的值
					if (layEvent === 'detail') {
						layer.msg('查看操作');
					} else if (layEvent === 'del') {
						layer.confirm('真的删除行么', function(index) {
							obj.del(); // 删除对应行（tr）的DOM结构
							layer.close(index);
							// 向服务端发送删除指令
						});
					} else if (layEvent === 'edit') {
						layer.msg('编辑操作');
					}
				});

				// 初始化新增模态框
				var initAddExchangeModal = function() {
					// 弹出一个页面层
					layer.open({
						type : 1 // 基本层类型0~4，1为页面层
						,
						title : '添加资源' // 标题
							,
							area : [ '400px', '550px' ] // 宽高
					// 只写一个参数就是表示宽度，高度会自适应
					,
					content : $("#addExchangeModal") // 文本、html都行
					,
					anim : 0 // 弹出动画
					,
					resize : false // 是否允许拉伸
					,
					end : function() { // 弹出层销毁时的回调函数（不论何种方式，只要关闭了就执行）
						// 清空表单
						$("#addExchangeForm")[0].reset();
					}
					});

				}

				// 初始化修改模态框
				var initUpdateExchangeModal = function(data) {
					data = data[0];
					// 弹出一个页面层
					layer.open({
						type : 1 // 基本层类型0~4，1为页面层
						,
						title : '修改资源' // 标题
							,
							area : [ '400px', '550px' ] // 宽高
					// 只写一个参数就是表示宽度，高度会自适应
					,
					content : $("#updateExchangeModal") // 文本、html都行
					,
					anim : 0 // 弹出动画
					,
					resize : false // 是否允许拉伸
					,
					end : function() { // 弹出层销毁时的回调函数（不论何种方式，只要关闭了就执行）
						// 清空表单
						$("#updateExchangeForm")[0].reset();
					}
					});
					// 表单赋值
					form.val('updateExchangeForm', {
						"trusteeId" : data.trusteeId,
						"trusteeName" : data.trusteeName,
						"trusteeFee" : data.trusteeFee,
						"description" : data.description
					});
				}

				var deleteExchange = function(data) {
					var trusteeIds = "";
					for (var i = 0; i < data.length; i++) {
						trusteeIds += data[i].trusteeId + ",";
					}
					$.ajax({
						type : "POST",
						url : 'trustee/' + trusteeIds,
						data : {
							_method : 'DELETE',
						},
						success : function(data) {
							if (data == true) {
								layer.confirm('删除成功');
							} else {
								layer.confirm('删除失败');
							}
							// 刷新数据表格
							table.reload('ExchangeTable', {
								url : 'queryTrustee'
							});
						}
					})
				}

				// 关闭模态框
				$(".modalClose").click(function() {
					// 关闭页面上所有类型的所有弹框
					layer.closeAll();
				});

				// 搜索框
				form.on('submit(exchangeSearchBtn)', function(data) {
					var data = data.field;
					// 执行后台代码
					exchangeTable.reload({
						where : { // 设定异步数据接口的额外参数，任意设
							"trusteeName" : data.trusteeName,
							"trusteeFee" : data.trusteeFee,
							"description" : data.description
						},
						page : {
							curr : 1
							// 重新从第 1 页开始
						}

					});

					// 刷新数据表格
					// table.reload('resourceTable', {url:
					// 'sys/resources'});
					return false; // 阻止表单跳转。如果需要表单跳转，去掉这段即可。
				});
				//添加
				var addExchange = function() {
					// 获取表单中填写的数据
					var addExchangeFormData = $("#addExchangeForm")
					.serialize();
					$.ajax({
						type : "POST",
						url : 'trustee',
						data : addExchangeFormData,
						success : function(data) {
							if (data == true) {
								// 刷新数据表格
								layer.closeAll();
								layer.confirm('添加成功');
							} else {
								layer.confirm('添加失败');
							}
							// 刷新数据表格
							table.reload('ExchangeTable', {
								url : 'queryTrustee'
							});
						}
					});
					return false;
				}
				// 修改
				var updateExchange = function() {
					// 获取表单中填写的数据
					var  updateExchangeFormData = $(
					"#updateExchangeForm").serialize();
					$.ajax({
						type : "POST",
						url : 'updatetrustee',
						data : updateExchangeFormData,
						success : function(data) {
							if (data == true) {
								// 刷新数据表格
								layer.closeAll();
								layer.confirm('修改成功');
							} else {
								layer.confirm('修改失败');
							}
							// 刷新数据表格
							table.reload('ExchangeTable', {
								url : 'queryTrustee'
							});
						}
					});
					return false;
				}

				// 为添加按钮绑定事件
				$("#addExchange").click(addExchange);
				$("#updateExchangeBtn").click(updateExchange);
			})

}
